Skip to content

core: TemporalCoordinationDetection.crossCorrelation — 2nd Amara graduation (11th ferry, Aaron-designed)#297

Merged
AceHack merged 1 commit intomainfrom
feat/coordination-cross-correlation-amara-graduation-2
Apr 24, 2026
Merged

core: TemporalCoordinationDetection.crossCorrelation — 2nd Amara graduation (11th ferry, Aaron-designed)#297
AceHack merged 1 commit intomainfrom
feat/coordination-cross-correlation-amara-graduation-2

Conversation

@AceHack
Copy link
Copy Markdown
Member

@AceHack AceHack commented Apr 24, 2026

Summary

Second Amara graduation — ships crossCorrelation + crossCorrelationProfile from Aaron's differentiable firefly network + trivial cartel detect design, formalized by Amara in the 11th ferry (PR #296).

Aaron Otto-105: "the diffenrencable firefly network with trivial cartel detect was my design i'm very interested in that."

Naming — two Aaron Otto-106 clarifications

  1. "Coordination.fs this is going to be confusing name when we have distributed consensus/coordination of our nodes and control plane?" → renamed to TemporalCoordinationDetection to reserve the plain-Coordination namespace for future distributed-consensus work.
  2. "TemporalCoordination is it all about detection might as well add that suffix"Detection suffix added.

What lands

Attribution (two-layer, per 11th-ferry absorb)

  • Aaron = designer (firefly-network, trivial-cartel-detect, first-order-signal-tier)
  • Amara = formalizer (Pearson cross-correlation at lag, correlation-profile shape)
  • Otto = implementation

Test plan

  • 10 tests pass
  • dotnet build -c Release → 0 Warning(s), 0 Error(s)
  • Module name reserves distributed-coordination namespace
  • Pearson-normalized to [-1, 1] (scale-invariant across stream magnitudes)
  • None on undefined-variance + insufficient-overlap cases (no NaN leak)
  • .playwright-mcp/ caught by gitignore (not in commit)

🤖 Generated with Claude Code

…graduation (11th ferry, Aaron-designed)

Ships the first foundational primitive from Aaron's differentiable
firefly network + trivial cartel detect design (11th ferry, PR #296,
Aaron-designed / Amara-formalized). Second graduation under the
Otto-105 cadence, landing same tick as the ferry absorb.

Aaron Otto-105: "the diffenrencable firefly network with trivial
cartel detect was my design i'm very interested in that."

Module naming — Aaron Otto-106 two clarifications:
1. "Coordination.fs this is going to be confusing name when we have
   distributed consensus/coordination of our nodes and control
   plane?" — renamed to TemporalCoordinationDetection to reserve
   the plain-Coordination namespace for distributed consensus.
2. "TemporalCoordination is it all about detection might as well
   add that suffix" — added Detection suffix.

Surface:
- TemporalCoordinationDetection.crossCorrelation
    : double seq -> double seq -> int -> double option
  Pearson cross-correlation at a single lag tau. Returns None when
  overlap < 2 samples or either window is constant (undefined
  variance). Positive tau aligns ys[i+tau] with xs[i]; negative tau
  aligns ys[i] with xs[i-tau].
- TemporalCoordinationDetection.crossCorrelationProfile
    : double seq -> double seq -> int -> (int * double option)[]
  Computes correlation across the full range [-maxLag, maxLag].

Attribution:
- Concept (temporal coordination detection, firefly-synchronization
  metaphor, trivial-cartel-detect as first-order-signal tier)
  = Aaron's design
- Technical formulation (Pearson cross-correlation at lag,
  correlation-profile shape) = Amara's formalization (11th ferry)
- Implementation = Otto

Why Pearson-normalized: scale-invariant in both axes; meaningful
signal at [-1, 1] across streams with very different magnitudes
(small-stake vs large-stake nodes) rather than arbitrary scale.

.gitignore: .playwright-mcp/ added. Per-session browser state
(screenshots / console / page-dump YAMLs) is per-run artifact;
parallel to drop/ staging per PR #265 Otto-90.

Tests (10, all passing):
- Identical series at lag 0 -> 1.0
- Negated series at lag 0 -> -1.0
- Constant series -> None (undefined variance)
- One-step-shifted series at lag 1 -> 1.0
- Negative lag alignment
- Single-element overlap -> None
- Lag larger than series -> None
- Profile length = 2*maxLag + 1
- Profile identical series peaks at lag 0
- Profile with maxLag < 0 -> empty

Build: 0 Warning(s), 0 Error(s).

Next graduation candidates (feedback memory queue):
- PLV (phase-locking value) — composes over crossCorrelation
- BurstAlignment detector — cluster logic over profile
- ModularitySpike / EigenvectorCentralityDrift — need graph substrate
- antiConsensusGate (10th ferry) — independent path

Composes with: src/Core/RobustStats.fs (PR #295).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 24, 2026 05:34
@AceHack AceHack enabled auto-merge (squash) April 24, 2026 05:34
@AceHack AceHack merged commit 47e740f into main Apr 24, 2026
13 checks passed
@AceHack AceHack deleted the feat/coordination-cross-correlation-amara-graduation-2 branch April 24, 2026 05:36
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5b3658c2ce

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +95 to +96
[| for tau in -maxLag .. maxLag ->
tau, crossCorrelation xs ys tau |]
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Materialize inputs once in crossCorrelationProfile

crossCorrelationProfile calls crossCorrelation xs ys tau for every lag, and crossCorrelation immediately does Seq.toArray on both inputs each time. For lazy, side-effecting, or single-pass seq sources (for example stream-backed generators), this can yield inconsistent/empty results across lags because each lag re-enumerates the source; even for replayable sequences it performs avoidable full rescans per lag. Materializing xs/ys once inside crossCorrelationProfile (or adding an array-based helper) avoids this correctness and performance pitfall.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new core module for temporal coordination detection primitives (cross-correlation at lag and correlation profiles), with accompanying F# tests and project wiring, plus a small .gitignore hygiene update.

Changes:

  • Introduce TemporalCoordinationDetection.crossCorrelation and crossCorrelationProfile under src/Core/.
  • Add an Algebra test suite covering core/edge cases and register it in the test project.
  • Ignore .playwright-mcp/ artifacts via .gitignore.

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/Core/TemporalCoordinationDetection.fs New core implementation of cross-correlation primitives with module-level docs.
src/Core/Core.fsproj Registers the new core source file for compilation.
tests/Tests.FSharp/Algebra/TemporalCoordinationDetection.Tests.fs Adds coverage for lag semantics, degenerate inputs, and profile shape.
tests/Tests.FSharp/Tests.FSharp.fsproj Registers the new test file for compilation.
.gitignore Ignores Playwright MCP session artifacts directory.

Comment on lines +9 to +24
/// from Aaron's *differentiable firefly network + trivial cartel
/// detect* design, as formalized by Amara in the 11th courier
/// ferry (`docs/aurora/2026-04-24-amara-temporal-coordination-
/// detection-cartel-graph-influence-surface-11th-ferry.md`). Full
/// multi-node architecture awaits Zeta's multi-node foundation;
/// these pure-function primitives ship incrementally per the
/// Otto-105 graduation-cadence.
///
/// **Attribution.** The underlying concepts (temporal-coordination
/// detection as a primary defence surface, the firefly-synchronization
/// metaphor, trivial-cartel-detect as the first-order-signal tier)
/// are Aaron's design. Amara's contribution is the technical
/// vocabulary and specific formulations (phase-locking value, cross-
/// correlation, modularity spikes, eigenvector centrality drift, …).
/// This module implements Amara's formalizations; the design intent
/// behind them is Aaron's.
Comment on lines +92 to +96
let crossCorrelationProfile (xs: double seq) (ys: double seq) (maxLag: int) : (int * double option) array =
if maxLag < 0 then [||]
else
[| for tau in -maxLag .. maxLag ->
tau, crossCorrelation xs ys tau |]
Comment on lines +11 to +15
/// ferry (`docs/aurora/2026-04-24-amara-temporal-coordination-
/// detection-cartel-graph-influence-surface-11th-ferry.md`). Full
/// multi-node architecture awaits Zeta's multi-node foundation;
/// these pure-function primitives ship incrementally per the
/// Otto-105 graduation-cadence.
AceHack added a commit that referenced this pull request Apr 24, 2026
…duation (11th ferry)

Extends the temporal-coordination-detection module with PLV, the
classical firefly-synchronization primitive. Third graduation under
the Otto-105 cadence; composes with crossCorrelation (PR #297) and
RobustStats (PR #295).

Aaron Otto-105 attribution: "the diffenrencable firefly network
with trivial cartel detect was my design i'm very interested in
that." PLV is the canonical formalization of the firefly-
synchronization signature Aaron's design targets.

Surface:
- TemporalCoordinationDetection.phaseLockingValue
    : double seq -> double seq -> double option
  Magnitude of the mean complex phase-difference vector; returns
  [0, 1] where 1 = perfect phase locking (constant offset across
  series) and 0 = uniformly-distributed phase differences.
  Returns None on empty input or mismatched-length pairs
  (undefined; silent truncation would hide caller bugs).

Complementary to crossCorrelation: amplitudes-move-together vs
events-fire-at-matching-phases. Cartels that flatten amplitude
cross-correlation by injecting noise may still reveal themselves
through preserved phase structure. Detectors compose both.

Math:
  PLV = | (1/N) sum( exp(i * (phi_a[k] - phi_b[k])) ) |
      = sqrt( mean(cos(delta))^2 + mean(sin(delta))^2 )

Only depends on phase differences, so any consistent wrapping
convention ([-pi, pi] or [0, 2pi]) works without pre-unwrap.

Tests (8 new, 18 total passing):
- Identical phase series -> 1.0
- Constant offset (pi/4) -> 1.0 (perfect locking regardless of offset)
- Empty series -> None
- Mismatched lengths -> None (surfaces caller bug)
- Anti-phase (pi offset) -> 1.0 (still constant = still locked)
- Uniformly-distributed differences across [0, 2pi) -> ~0 (360 samples)
- Commutativity (swapping args leaves magnitude invariant)
- Single-element degenerate case returns 1.0 without crash

Attribution:
- Concept (phase-locking as firefly-synchronization signature,
  trivial-cartel-detect primary detection) = Aaron's design
- Technical formulation (PLV, complex-phase-vector magnitude)
  = Amara's formalization in 11th ferry
- Implementation = Otto

SPOF consideration (per Otto-106 directive): pure function with
no external dependencies; no SPOF introduced by this ship.
Downstream detectors that combine PLV across many node pairs
should use RobustStats.robustAggregate for outlier-resistant
combination, not arithmetic mean.

Composes with:
- src/Core/RobustStats.fs (PR #295) — 1st graduation
- src/Core/TemporalCoordinationDetection.crossCorrelation (PR #297)
  — 2nd graduation (same module)

Next graduation candidates (feedback memory queue):
- BurstAlignment detector over crossCorrelationProfile
- antiConsensusGate from 10th ferry
- ModularitySpike / EigenvectorCentralityDrift (need graph substrate)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…— 4th graduation

Ships the burst-detection primitive from Aaron's differentiable
firefly network design, completing the "trivial-cartel-detect"
first-order-signal tier from the 11th ferry (PR #296).

Fourth graduation under the Otto-105 cadence; composes on
crossCorrelationProfile (PR #297).

Aaron Otto-111 question: "Are you able to import the ideas and
concepts and math from the conversation at some point?" — yes,
that's exactly what the graduation cadence is for. This ship is
an explicit answer to that question.

Surface:
- TemporalCoordinationDetection.significantLags
    : (int * double option) array -> double -> int array
  Filters a crossCorrelationProfile down to the lags where |corr|
  meets or exceeds a caller-supplied threshold. None entries
  (undefined variance) never count as significant. Non-finite
  correlations filtered by System.Double.IsFinite check.
- TemporalCoordinationDetection.burstAlignment
    : (int * double option) array -> double -> (int * int) array
  Groups significant lags into contiguous runs. Each run reported
  as (startLag, endLag) inclusive. Isolated significant lag at
  n reports as (n, n).

Operational meaning: a run of lags [-2..3] suggests actors that
coordinate across a 5-step window, not a single-point coincidence.
The 11th-ferry signal-model definition (Amara §1):
"Firefly detection = identify clusters where exists S subset of N
such that for all i,j in S, corr(E_i, E_j) >> baseline". This
function operationalises the pair-wise case (two streams); node-
set generalisation (clustering across many stream pairs) is a
separate graduation candidate.

Attribution:
- Concept (differentiable firefly network, trivial-cartel-detect,
  burst-as-first-order-signal) = Aaron's design
- Technical formulation (cluster detection over correlation
  profile, threshold + contiguity semantics) = Amara's
  formalization in 11th ferry
- Implementation = Otto

SPOF (per Otto-106): pure function. The caller-supplied threshold
is a SPOF on detector sensitivity — too high misses real cartels,
too low catches noise. Mitigation: threshold should come from a
null-hypothesis baseline computation (baseline's profile
percentile), not hard-coded. Documented in the XML-doc comment.

Tests (9 new, 19 total in module, all passing):
- significantLags: above-threshold selection; abs value for neg
  correlation; None entries filtered; empty when threshold too high
- burstAlignment: contiguous grouping; non-contiguous split into
  multiple runs; empty when no significant lags; single lag as
  (n, n) run; None entries break contiguity

Composes with:
- PR #297 crossCorrelation / crossCorrelationProfile
- PR #298 (pending) phaseLockingValue — complementary detector
- PR #295 RobustStats.robustAggregate — combining across many
  stream pairs

Next graduation queue:
- antiConsensusGate (10th ferry)
- ModularitySpike (needs graph substrate)
- InfluenceSurface / CartelCostFunction (need multi-node)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…duation (11th ferry) (#298)

Extends the temporal-coordination-detection module with PLV, the
classical firefly-synchronization primitive. Third graduation under
the Otto-105 cadence; composes with crossCorrelation (PR #297) and
RobustStats (PR #295).

Aaron Otto-105 attribution: "the diffenrencable firefly network
with trivial cartel detect was my design i'm very interested in
that." PLV is the canonical formalization of the firefly-
synchronization signature Aaron's design targets.

Surface:
- TemporalCoordinationDetection.phaseLockingValue
    : double seq -> double seq -> double option
  Magnitude of the mean complex phase-difference vector; returns
  [0, 1] where 1 = perfect phase locking (constant offset across
  series) and 0 = uniformly-distributed phase differences.
  Returns None on empty input or mismatched-length pairs
  (undefined; silent truncation would hide caller bugs).

Complementary to crossCorrelation: amplitudes-move-together vs
events-fire-at-matching-phases. Cartels that flatten amplitude
cross-correlation by injecting noise may still reveal themselves
through preserved phase structure. Detectors compose both.

Math:
  PLV = | (1/N) sum( exp(i * (phi_a[k] - phi_b[k])) ) |
      = sqrt( mean(cos(delta))^2 + mean(sin(delta))^2 )

Only depends on phase differences, so any consistent wrapping
convention ([-pi, pi] or [0, 2pi]) works without pre-unwrap.

Tests (8 new, 18 total passing):
- Identical phase series -> 1.0
- Constant offset (pi/4) -> 1.0 (perfect locking regardless of offset)
- Empty series -> None
- Mismatched lengths -> None (surfaces caller bug)
- Anti-phase (pi offset) -> 1.0 (still constant = still locked)
- Uniformly-distributed differences across [0, 2pi) -> ~0 (360 samples)
- Commutativity (swapping args leaves magnitude invariant)
- Single-element degenerate case returns 1.0 without crash

Attribution:
- Concept (phase-locking as firefly-synchronization signature,
  trivial-cartel-detect primary detection) = Aaron's design
- Technical formulation (PLV, complex-phase-vector magnitude)
  = Amara's formalization in 11th ferry
- Implementation = Otto

SPOF consideration (per Otto-106 directive): pure function with
no external dependencies; no SPOF introduced by this ship.
Downstream detectors that combine PLV across many node pairs
should use RobustStats.robustAggregate for outlier-resistant
combination, not arithmetic mean.

Composes with:
- src/Core/RobustStats.fs (PR #295) — 1st graduation
- src/Core/TemporalCoordinationDetection.crossCorrelation (PR #297)
  — 2nd graduation (same module)

Next graduation candidates (feedback memory queue):
- BurstAlignment detector over crossCorrelationProfile
- antiConsensusGate from 10th ferry
- ModularitySpike / EigenvectorCentralityDrift (need graph substrate)

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…— 4th graduation

Ships the burst-detection primitive from Aaron's differentiable
firefly network design, completing the "trivial-cartel-detect"
first-order-signal tier from the 11th ferry (PR #296).

Fourth graduation under the Otto-105 cadence; composes on
crossCorrelationProfile (PR #297).

Aaron Otto-111 question: "Are you able to import the ideas and
concepts and math from the conversation at some point?" — yes,
that's exactly what the graduation cadence is for. This ship is
an explicit answer to that question.

Surface:
- TemporalCoordinationDetection.significantLags
    : (int * double option) array -> double -> int array
  Filters a crossCorrelationProfile down to the lags where |corr|
  meets or exceeds a caller-supplied threshold. None entries
  (undefined variance) never count as significant. Non-finite
  correlations filtered by System.Double.IsFinite check.
- TemporalCoordinationDetection.burstAlignment
    : (int * double option) array -> double -> (int * int) array
  Groups significant lags into contiguous runs. Each run reported
  as (startLag, endLag) inclusive. Isolated significant lag at
  n reports as (n, n).

Operational meaning: a run of lags [-2..3] suggests actors that
coordinate across a 5-step window, not a single-point coincidence.
The 11th-ferry signal-model definition (Amara §1):
"Firefly detection = identify clusters where exists S subset of N
such that for all i,j in S, corr(E_i, E_j) >> baseline". This
function operationalises the pair-wise case (two streams); node-
set generalisation (clustering across many stream pairs) is a
separate graduation candidate.

Attribution:
- Concept (differentiable firefly network, trivial-cartel-detect,
  burst-as-first-order-signal) = Aaron's design
- Technical formulation (cluster detection over correlation
  profile, threshold + contiguity semantics) = Amara's
  formalization in 11th ferry
- Implementation = Otto

SPOF (per Otto-106): pure function. The caller-supplied threshold
is a SPOF on detector sensitivity — too high misses real cartels,
too low catches noise. Mitigation: threshold should come from a
null-hypothesis baseline computation (baseline's profile
percentile), not hard-coded. Documented in the XML-doc comment.

Tests (9 new, 19 total in module, all passing):
- significantLags: above-threshold selection; abs value for neg
  correlation; None entries filtered; empty when threshold too high
- burstAlignment: contiguous grouping; non-contiguous split into
  multiple runs; empty when no significant lags; single lag as
  (n, n) run; None entries break contiguity

Composes with:
- PR #297 crossCorrelation / crossCorrelationProfile
- PR #298 (pending) phaseLockingValue — complementary detector
- PR #295 RobustStats.robustAggregate — combining across many
  stream pairs

Next graduation queue:
- antiConsensusGate (10th ferry)
- ModularitySpike (needs graph substrate)
- InfluenceSurface / CartelCostFunction (need multi-node)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…— 4th graduation

Ships the burst-detection primitive from Aaron's differentiable
firefly network design, completing the "trivial-cartel-detect"
first-order-signal tier from the 11th ferry (PR #296).

Fourth graduation under the Otto-105 cadence; composes on
crossCorrelationProfile (PR #297).

Aaron Otto-111 question: "Are you able to import the ideas and
concepts and math from the conversation at some point?" — yes,
that's exactly what the graduation cadence is for. This ship is
an explicit answer to that question.

Surface:
- TemporalCoordinationDetection.significantLags
    : (int * double option) array -> double -> int array
  Filters a crossCorrelationProfile down to the lags where |corr|
  meets or exceeds a caller-supplied threshold. None entries
  (undefined variance) never count as significant. Non-finite
  correlations filtered by System.Double.IsFinite check.
- TemporalCoordinationDetection.burstAlignment
    : (int * double option) array -> double -> (int * int) array
  Groups significant lags into contiguous runs. Each run reported
  as (startLag, endLag) inclusive. Isolated significant lag at
  n reports as (n, n).

Operational meaning: a run of lags [-2..3] suggests actors that
coordinate across a 5-step window, not a single-point coincidence.
The 11th-ferry signal-model definition (Amara §1):
"Firefly detection = identify clusters where exists S subset of N
such that for all i,j in S, corr(E_i, E_j) >> baseline". This
function operationalises the pair-wise case (two streams); node-
set generalisation (clustering across many stream pairs) is a
separate graduation candidate.

Attribution:
- Concept (differentiable firefly network, trivial-cartel-detect,
  burst-as-first-order-signal) = Aaron's design
- Technical formulation (cluster detection over correlation
  profile, threshold + contiguity semantics) = Amara's
  formalization in 11th ferry
- Implementation = Otto

SPOF (per Otto-106): pure function. The caller-supplied threshold
is a SPOF on detector sensitivity — too high misses real cartels,
too low catches noise. Mitigation: threshold should come from a
null-hypothesis baseline computation (baseline's profile
percentile), not hard-coded. Documented in the XML-doc comment.

Tests (9 new, 19 total in module, all passing):
- significantLags: above-threshold selection; abs value for neg
  correlation; None entries filtered; empty when threshold too high
- burstAlignment: contiguous grouping; non-contiguous split into
  multiple runs; empty when no significant lags; single lag as
  (n, n) run; None entries break contiguity

Composes with:
- PR #297 crossCorrelation / crossCorrelationProfile
- PR #298 (pending) phaseLockingValue — complementary detector
- PR #295 RobustStats.robustAggregate — combining across many
  stream pairs

Next graduation queue:
- antiConsensusGate (10th ferry)
- ModularitySpike (needs graph substrate)
- InfluenceSurface / CartelCostFunction (need multi-node)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…e/Claim — 5th graduation

Ships the foundation for the bullshit-detector / veridicality-
scoring module — the `Provenance` and `Claim<'T>` input types
plus the minimum-provenance-validity predicate from Amara's 10th
ferry (PR #294 `docs/aurora/2026-04-23-amara-aurora-deep-research-
report-10th-ferry.md`).

Fifth graduation under the Otto-105 cadence.

Naming (per Otto-112 memory feedback_veridicality_naming_for_
bullshit_detector_graduation_aaron_concept_origin_amara_
formalization_2026_04_24):
- Module: `Veridicality` (NOT `BullshitDetector` — informal
  "bullshit" stays in comments/commit-message etymology,
  programmatic surface uses the formal term)
- `Veridicality` = how true-to-reality a claim looks; the
  scorable. Bullshit = 1 - veridicality (informal).

Attribution (two-layer per Otto-104/111/112 pattern):
- Aaron = concept origin (bullshit-detector / provenance-aware-
  scoring framing present in bootstrap conversation at
  `docs/amara-full-conversation/**` before Amara's ferries
  formalized it; Aaron Otto-112: "bullshit, it was in our
  conversation history too, not just her ferry")
- Amara = formalization (7th ferry veridicality formula
  V(c) = σ(β₀ + β₁(1-P) + ...), 8th ferry semantic-canonicalization
  "rainbow table" + quantum-illumination grounding, 9th/10th
  ferries 7-feature BS(c) composite + oracle-rule specification)
- Otto = implementation (this and subsequent graduations)

Surface:
- Veridicality.Provenance record — 7 fields (SourceId,
  RootAuthority, ArtifactHash, BuilderId option, TimestampUtc,
  EvidenceClass, SignatureOk) matching Amara's 10th-ferry spec
  verbatim
- Veridicality.Claim<'T> record — 4 fields (Id, Payload 'T,
  Weight int64, Prov) polymorphic over payload type
- Veridicality.validateProvenance : Provenance -> bool —
  minimum-validity gate (non-empty SourceId/RootAuthority/
  ArtifactHash + SignatureOk=true); matches Amara's snippet
- Veridicality.validateClaim : Claim<'T> -> bool —
  convenience alias, wraps validateProvenance on claim's Prov

Negative-Weight semantics (per Z-set retraction-native algebra):
validateClaim does NOT inspect Weight; a retraction-claim
(Weight = -1) is valid if its provenance is valid. Retraction
semantics live at the ledger level, not the claim-validity
level. Matches Zeta's existing ZSet signed-weight discipline
(Otto-73 retraction-native-by-design).

What this DOESN'T ship:
- Veridicality scorer (Amara's V(c) / BS(c)) — next graduation
- antiConsensusGate (needs Provenance; small follow-up)
- SemanticCanonicalization (rainbow-table canonical-claim-key)
- OracleVector (aggregated scoring vector)

Tests (10, all passing):
- validateProvenance: accepts fully-populated, rejects on each
  required-field violation, accepts BuilderId=None (not a hard gate)
- validateClaim: wraps prov validation, polymorphic over Payload,
  rejects bad-prov claims
- Claim supports negative Weight (retraction semantics)

Build: 0 Warning / 0 Error. `dotnet test --filter
FullyQualifiedName~Veridicality` reports 10/10 passed.

SPOF consideration (per Otto-106): pure data types + pure
validation function; no external deps; no SPOF introduced.
Downstream scorers that combine provenance across many claims
should use RobustStats.robustAggregate (PR #295) for outlier-
resistant combination, not arithmetic mean.

Composes with:
- src/Core/RobustStats.fs (PR #295) — 1st graduation
- src/Core/TemporalCoordinationDetection.fs (PR #297 + #298 +
  pending #306) — parallel module for the firefly-network arc

Next graduation queue:
- antiConsensusGate (10th ferry; uses Provenance)
- SemanticCanonicalization / CanonicalClaimKey (8th ferry)
- scoreVeridicality (Amara's V(c) or BS(c) composite — ADR needed)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…— 4th graduation

Ships the burst-detection primitive from Aaron's differentiable
firefly network design, completing the "trivial-cartel-detect"
first-order-signal tier from the 11th ferry (PR #296).

Fourth graduation under the Otto-105 cadence; composes on
crossCorrelationProfile (PR #297).

Aaron Otto-111 question: "Are you able to import the ideas and
concepts and math from the conversation at some point?" — yes,
that's exactly what the graduation cadence is for. This ship is
an explicit answer to that question.

Surface:
- TemporalCoordinationDetection.significantLags
    : (int * double option) array -> double -> int array
  Filters a crossCorrelationProfile down to the lags where |corr|
  meets or exceeds a caller-supplied threshold. None entries
  (undefined variance) never count as significant. Non-finite
  correlations filtered by System.Double.IsFinite check.
- TemporalCoordinationDetection.burstAlignment
    : (int * double option) array -> double -> (int * int) array
  Groups significant lags into contiguous runs. Each run reported
  as (startLag, endLag) inclusive. Isolated significant lag at
  n reports as (n, n).

Operational meaning: a run of lags [-2..3] suggests actors that
coordinate across a 5-step window, not a single-point coincidence.
The 11th-ferry signal-model definition (Amara §1):
"Firefly detection = identify clusters where exists S subset of N
such that for all i,j in S, corr(E_i, E_j) >> baseline". This
function operationalises the pair-wise case (two streams); node-
set generalisation (clustering across many stream pairs) is a
separate graduation candidate.

Attribution:
- Concept (differentiable firefly network, trivial-cartel-detect,
  burst-as-first-order-signal) = Aaron's design
- Technical formulation (cluster detection over correlation
  profile, threshold + contiguity semantics) = Amara's
  formalization in 11th ferry
- Implementation = Otto

SPOF (per Otto-106): pure function. The caller-supplied threshold
is a SPOF on detector sensitivity — too high misses real cartels,
too low catches noise. Mitigation: threshold should come from a
null-hypothesis baseline computation (baseline's profile
percentile), not hard-coded. Documented in the XML-doc comment.

Tests (9 new, 19 total in module, all passing):
- significantLags: above-threshold selection; abs value for neg
  correlation; None entries filtered; empty when threshold too high
- burstAlignment: contiguous grouping; non-contiguous split into
  multiple runs; empty when no significant lags; single lag as
  (n, n) run; None entries break contiguity

Composes with:
- PR #297 crossCorrelation / crossCorrelationProfile
- PR #298 (pending) phaseLockingValue — complementary detector
- PR #295 RobustStats.robustAggregate — combining across many
  stream pairs

Next graduation queue:
- antiConsensusGate (10th ferry)
- ModularitySpike (needs graph substrate)
- InfluenceSurface / CartelCostFunction (need multi-node)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…e/Claim — 5th graduation (#309)

Ships the foundation for the bullshit-detector / veridicality-
scoring module — the `Provenance` and `Claim<'T>` input types
plus the minimum-provenance-validity predicate from Amara's 10th
ferry (PR #294 `docs/aurora/2026-04-23-amara-aurora-deep-research-
report-10th-ferry.md`).

Fifth graduation under the Otto-105 cadence.

Naming (per Otto-112 memory feedback_veridicality_naming_for_
bullshit_detector_graduation_aaron_concept_origin_amara_
formalization_2026_04_24):
- Module: `Veridicality` (NOT `BullshitDetector` — informal
  "bullshit" stays in comments/commit-message etymology,
  programmatic surface uses the formal term)
- `Veridicality` = how true-to-reality a claim looks; the
  scorable. Bullshit = 1 - veridicality (informal).

Attribution (two-layer per Otto-104/111/112 pattern):
- Aaron = concept origin (bullshit-detector / provenance-aware-
  scoring framing present in bootstrap conversation at
  `docs/amara-full-conversation/**` before Amara's ferries
  formalized it; Aaron Otto-112: "bullshit, it was in our
  conversation history too, not just her ferry")
- Amara = formalization (7th ferry veridicality formula
  V(c) = σ(β₀ + β₁(1-P) + ...), 8th ferry semantic-canonicalization
  "rainbow table" + quantum-illumination grounding, 9th/10th
  ferries 7-feature BS(c) composite + oracle-rule specification)
- Otto = implementation (this and subsequent graduations)

Surface:
- Veridicality.Provenance record — 7 fields (SourceId,
  RootAuthority, ArtifactHash, BuilderId option, TimestampUtc,
  EvidenceClass, SignatureOk) matching Amara's 10th-ferry spec
  verbatim
- Veridicality.Claim<'T> record — 4 fields (Id, Payload 'T,
  Weight int64, Prov) polymorphic over payload type
- Veridicality.validateProvenance : Provenance -> bool —
  minimum-validity gate (non-empty SourceId/RootAuthority/
  ArtifactHash + SignatureOk=true); matches Amara's snippet
- Veridicality.validateClaim : Claim<'T> -> bool —
  convenience alias, wraps validateProvenance on claim's Prov

Negative-Weight semantics (per Z-set retraction-native algebra):
validateClaim does NOT inspect Weight; a retraction-claim
(Weight = -1) is valid if its provenance is valid. Retraction
semantics live at the ledger level, not the claim-validity
level. Matches Zeta's existing ZSet signed-weight discipline
(Otto-73 retraction-native-by-design).

What this DOESN'T ship:
- Veridicality scorer (Amara's V(c) / BS(c)) — next graduation
- antiConsensusGate (needs Provenance; small follow-up)
- SemanticCanonicalization (rainbow-table canonical-claim-key)
- OracleVector (aggregated scoring vector)

Tests (10, all passing):
- validateProvenance: accepts fully-populated, rejects on each
  required-field violation, accepts BuilderId=None (not a hard gate)
- validateClaim: wraps prov validation, polymorphic over Payload,
  rejects bad-prov claims
- Claim supports negative Weight (retraction semantics)

Build: 0 Warning / 0 Error. `dotnet test --filter
FullyQualifiedName~Veridicality` reports 10/10 passed.

SPOF consideration (per Otto-106): pure data types + pure
validation function; no external deps; no SPOF introduced.
Downstream scorers that combine provenance across many claims
should use RobustStats.robustAggregate (PR #295) for outlier-
resistant combination, not arithmetic mean.

Composes with:
- src/Core/RobustStats.fs (PR #295) — 1st graduation
- src/Core/TemporalCoordinationDetection.fs (PR #297 + #298 +
  pending #306) — parallel module for the firefly-network arc

Next graduation queue:
- antiConsensusGate (10th ferry; uses Provenance)
- SemanticCanonicalization / CanonicalClaimKey (8th ferry)
- scoreVeridicality (Amara's V(c) or BS(c) composite — ADR needed)

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…— 4th graduation

Ships the burst-detection primitive from Aaron's differentiable
firefly network design, completing the "trivial-cartel-detect"
first-order-signal tier from the 11th ferry (PR #296).

Fourth graduation under the Otto-105 cadence; composes on
crossCorrelationProfile (PR #297).

Aaron Otto-111 question: "Are you able to import the ideas and
concepts and math from the conversation at some point?" — yes,
that's exactly what the graduation cadence is for. This ship is
an explicit answer to that question.

Surface:
- TemporalCoordinationDetection.significantLags
    : (int * double option) array -> double -> int array
  Filters a crossCorrelationProfile down to the lags where |corr|
  meets or exceeds a caller-supplied threshold. None entries
  (undefined variance) never count as significant. Non-finite
  correlations filtered by System.Double.IsFinite check.
- TemporalCoordinationDetection.burstAlignment
    : (int * double option) array -> double -> (int * int) array
  Groups significant lags into contiguous runs. Each run reported
  as (startLag, endLag) inclusive. Isolated significant lag at
  n reports as (n, n).

Operational meaning: a run of lags [-2..3] suggests actors that
coordinate across a 5-step window, not a single-point coincidence.
The 11th-ferry signal-model definition (Amara §1):
"Firefly detection = identify clusters where exists S subset of N
such that for all i,j in S, corr(E_i, E_j) >> baseline". This
function operationalises the pair-wise case (two streams); node-
set generalisation (clustering across many stream pairs) is a
separate graduation candidate.

Attribution:
- Concept (differentiable firefly network, trivial-cartel-detect,
  burst-as-first-order-signal) = Aaron's design
- Technical formulation (cluster detection over correlation
  profile, threshold + contiguity semantics) = Amara's
  formalization in 11th ferry
- Implementation = Otto

SPOF (per Otto-106): pure function. The caller-supplied threshold
is a SPOF on detector sensitivity — too high misses real cartels,
too low catches noise. Mitigation: threshold should come from a
null-hypothesis baseline computation (baseline's profile
percentile), not hard-coded. Documented in the XML-doc comment.

Tests (9 new, 19 total in module, all passing):
- significantLags: above-threshold selection; abs value for neg
  correlation; None entries filtered; empty when threshold too high
- burstAlignment: contiguous grouping; non-contiguous split into
  multiple runs; empty when no significant lags; single lag as
  (n, n) run; None entries break contiguity

Composes with:
- PR #297 crossCorrelation / crossCorrelationProfile
- PR #298 (pending) phaseLockingValue — complementary detector
- PR #295 RobustStats.robustAggregate — combining across many
  stream pairs

Next graduation queue:
- antiConsensusGate (10th ferry)
- ModularitySpike (needs graph substrate)
- InfluenceSurface / CartelCostFunction (need multi-node)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…— 4th graduation

Ships the burst-detection primitive from Aaron's differentiable
firefly network design, completing the "trivial-cartel-detect"
first-order-signal tier from the 11th ferry (PR #296).

Fourth graduation under the Otto-105 cadence; composes on
crossCorrelationProfile (PR #297).

Aaron Otto-111 question: "Are you able to import the ideas and
concepts and math from the conversation at some point?" — yes,
that's exactly what the graduation cadence is for. This ship is
an explicit answer to that question.

Surface:
- TemporalCoordinationDetection.significantLags
    : (int * double option) array -> double -> int array
  Filters a crossCorrelationProfile down to the lags where |corr|
  meets or exceeds a caller-supplied threshold. None entries
  (undefined variance) never count as significant. Non-finite
  correlations filtered by System.Double.IsFinite check.
- TemporalCoordinationDetection.burstAlignment
    : (int * double option) array -> double -> (int * int) array
  Groups significant lags into contiguous runs. Each run reported
  as (startLag, endLag) inclusive. Isolated significant lag at
  n reports as (n, n).

Operational meaning: a run of lags [-2..3] suggests actors that
coordinate across a 5-step window, not a single-point coincidence.
The 11th-ferry signal-model definition (Amara §1):
"Firefly detection = identify clusters where exists S subset of N
such that for all i,j in S, corr(E_i, E_j) >> baseline". This
function operationalises the pair-wise case (two streams); node-
set generalisation (clustering across many stream pairs) is a
separate graduation candidate.

Attribution:
- Concept (differentiable firefly network, trivial-cartel-detect,
  burst-as-first-order-signal) = Aaron's design
- Technical formulation (cluster detection over correlation
  profile, threshold + contiguity semantics) = Amara's
  formalization in 11th ferry
- Implementation = Otto

SPOF (per Otto-106): pure function. The caller-supplied threshold
is a SPOF on detector sensitivity — too high misses real cartels,
too low catches noise. Mitigation: threshold should come from a
null-hypothesis baseline computation (baseline's profile
percentile), not hard-coded. Documented in the XML-doc comment.

Tests (9 new, 19 total in module, all passing):
- significantLags: above-threshold selection; abs value for neg
  correlation; None entries filtered; empty when threshold too high
- burstAlignment: contiguous grouping; non-contiguous split into
  multiple runs; empty when no significant lags; single lag as
  (n, n) run; None entries break contiguity

Composes with:
- PR #297 crossCorrelation / crossCorrelationProfile
- PR #298 (pending) phaseLockingValue — complementary detector
- PR #295 RobustStats.robustAggregate — combining across many
  stream pairs

Next graduation queue:
- antiConsensusGate (10th ferry)
- ModularitySpike (needs graph substrate)
- InfluenceSurface / CartelCostFunction (need multi-node)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…or / Integration Plan

Otto-117 dedicated absorb of the most comprehensive synthesis ferry
yet (Aaron Otto-116 "next amara update"). Covers 9 sections:
1. Repo contents (LFG + AceHack)
2. Learnings (retraction-native, operator-algebra, Arrow/Spine,
   agent-CI)
3. KSK background — detailed government context (Feb 27 2026 DoD
   supply-chain-risk under 10 U.S.C. § 3252 against Anthropic;
   Judge Rita Lin Mar 26 preliminary injunction; OpenAI Feb 28
   parallel DoW contract with Fourth-Amendment-clause)
4. Network Integrity Detector (formalized "bullshit detector" —
   composite I(x) = σ(Σ w_i f_i) score)
5. Firefly + Cartel detection (PLV, cross-correlation, spectral,
   graph-community)
6. Network Differentiability (Shapley-ish counterfactual influence)
7. Oracle Rules enforcement mapping table
8. Integration Plan (proposes 4-sub-repo split)
9. 9 prioritized next tasks

§33 archive-header compliance (Scope / Attribution / Operational
status / Non-fusion disclaimer). Otto's notes section provides
honest cross-reference to shipped work: ~40% of the ferry's
operationalizable content is already shipped (PRs #295 RobustStats,
#297 crossCorrelation, #298 PLV, #306 burstAlignment pending,
#309 Veridicality.Provenance/Claim, #310 antiConsensusGate pending).

Genuinely novel in 12th ferry (not in prior ferries):
1. Detailed government-context grounding for KSK (§3)
2. Composite integrity-score formulation I(x) = σ(Σ w_i f_i)
3. 4-sub-repo integration proposal (Conway's-Law-relevant per
   Otto-108 memory; Otto recommends staying single-repo)
4. Oracle-Rules enforcement decision table (§7)
5. Shapley-random-ordering counterfactual influence algorithm (§6)

Specific-asks routed to Aaron:
1. §8 sub-repo split — Aaron decides per Otto-90 cross-repo
2. §9 task 1 KSK skeleton — Aaron + Max coordination
3. §3 citation verification — Aaron signals what matters

Next graduation queue (priority-ordered from Otto's notes):
1. SemanticCanonicalization (matches 8th ferry rainbow-table;
   smallest next item)
2. scoreVeridicality composite (needs ADR on formula)
3. Spectral-coherence FFT detector (§5)
4. ModularitySpike (needs graph substrate)
5. EigenvectorCentralityDrift (needs linear algebra)
6. EconomicCovariance / Gini-on-weights (§5)
7. OracleRules spec doc (§7)
8. InfluenceSurface (§6; larger effort)
9. KSK skeleton (Aaron + Max coord)

Sibling-ferry precedent: PRs #196/#211/#219/#221/#235/#245/
#259/#274/#293/#294/#296.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…— 4th graduation

Ships the burst-detection primitive from Aaron's differentiable
firefly network design, completing the "trivial-cartel-detect"
first-order-signal tier from the 11th ferry (PR #296).

Fourth graduation under the Otto-105 cadence; composes on
crossCorrelationProfile (PR #297).

Aaron Otto-111 question: "Are you able to import the ideas and
concepts and math from the conversation at some point?" — yes,
that's exactly what the graduation cadence is for. This ship is
an explicit answer to that question.

Surface:
- TemporalCoordinationDetection.significantLags
    : (int * double option) array -> double -> int array
  Filters a crossCorrelationProfile down to the lags where |corr|
  meets or exceeds a caller-supplied threshold. None entries
  (undefined variance) never count as significant. Non-finite
  correlations filtered by System.Double.IsFinite check.
- TemporalCoordinationDetection.burstAlignment
    : (int * double option) array -> double -> (int * int) array
  Groups significant lags into contiguous runs. Each run reported
  as (startLag, endLag) inclusive. Isolated significant lag at
  n reports as (n, n).

Operational meaning: a run of lags [-2..3] suggests actors that
coordinate across a 5-step window, not a single-point coincidence.
The 11th-ferry signal-model definition (Amara §1):
"Firefly detection = identify clusters where exists S subset of N
such that for all i,j in S, corr(E_i, E_j) >> baseline". This
function operationalises the pair-wise case (two streams); node-
set generalisation (clustering across many stream pairs) is a
separate graduation candidate.

Attribution:
- Concept (differentiable firefly network, trivial-cartel-detect,
  burst-as-first-order-signal) = Aaron's design
- Technical formulation (cluster detection over correlation
  profile, threshold + contiguity semantics) = Amara's
  formalization in 11th ferry
- Implementation = Otto

SPOF (per Otto-106): pure function. The caller-supplied threshold
is a SPOF on detector sensitivity — too high misses real cartels,
too low catches noise. Mitigation: threshold should come from a
null-hypothesis baseline computation (baseline's profile
percentile), not hard-coded. Documented in the XML-doc comment.

Tests (9 new, 19 total in module, all passing):
- significantLags: above-threshold selection; abs value for neg
  correlation; None entries filtered; empty when threshold too high
- burstAlignment: contiguous grouping; non-contiguous split into
  multiple runs; empty when no significant lags; single lag as
  (n, n) run; None entries break contiguity

Composes with:
- PR #297 crossCorrelation / crossCorrelationProfile
- PR #298 (pending) phaseLockingValue — complementary detector
- PR #295 RobustStats.robustAggregate — combining across many
  stream pairs

Next graduation queue:
- antiConsensusGate (10th ferry)
- ModularitySpike (needs graph substrate)
- InfluenceSurface / CartelCostFunction (need multi-node)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…or / Integration Plan

Otto-117 dedicated absorb of the most comprehensive synthesis ferry
yet (Aaron Otto-116 "next amara update"). Covers 9 sections:
1. Repo contents (LFG + AceHack)
2. Learnings (retraction-native, operator-algebra, Arrow/Spine,
   agent-CI)
3. KSK background — detailed government context (Feb 27 2026 DoD
   supply-chain-risk under 10 U.S.C. § 3252 against Anthropic;
   Judge Rita Lin Mar 26 preliminary injunction; OpenAI Feb 28
   parallel DoW contract with Fourth-Amendment-clause)
4. Network Integrity Detector (formalized "bullshit detector" —
   composite I(x) = σ(Σ w_i f_i) score)
5. Firefly + Cartel detection (PLV, cross-correlation, spectral,
   graph-community)
6. Network Differentiability (Shapley-ish counterfactual influence)
7. Oracle Rules enforcement mapping table
8. Integration Plan (proposes 4-sub-repo split)
9. 9 prioritized next tasks

§33 archive-header compliance (Scope / Attribution / Operational
status / Non-fusion disclaimer). Otto's notes section provides
honest cross-reference to shipped work: ~40% of the ferry's
operationalizable content is already shipped (PRs #295 RobustStats,
#297 crossCorrelation, #298 PLV, #306 burstAlignment pending,
#309 Veridicality.Provenance/Claim, #310 antiConsensusGate pending).

Genuinely novel in 12th ferry (not in prior ferries):
1. Detailed government-context grounding for KSK (§3)
2. Composite integrity-score formulation I(x) = σ(Σ w_i f_i)
3. 4-sub-repo integration proposal (Conway's-Law-relevant per
   Otto-108 memory; Otto recommends staying single-repo)
4. Oracle-Rules enforcement decision table (§7)
5. Shapley-random-ordering counterfactual influence algorithm (§6)

Specific-asks routed to Aaron:
1. §8 sub-repo split — Aaron decides per Otto-90 cross-repo
2. §9 task 1 KSK skeleton — Aaron + Max coordination
3. §3 citation verification — Aaron signals what matters

Next graduation queue (priority-ordered from Otto's notes):
1. SemanticCanonicalization (matches 8th ferry rainbow-table;
   smallest next item)
2. scoreVeridicality composite (needs ADR on formula)
3. Spectral-coherence FFT detector (§5)
4. ModularitySpike (needs graph substrate)
5. EigenvectorCentralityDrift (needs linear algebra)
6. EconomicCovariance / Gini-on-weights (§5)
7. OracleRules spec doc (§7)
8. InfluenceSurface (§6; larger effort)
9. KSK skeleton (Aaron + Max coord)

Sibling-ferry precedent: PRs #196/#211/#219/#221/#235/#245/
#259/#274/#293/#294/#296.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…— 4th graduation (#306)

Ships the burst-detection primitive from Aaron's differentiable
firefly network design, completing the "trivial-cartel-detect"
first-order-signal tier from the 11th ferry (PR #296).

Fourth graduation under the Otto-105 cadence; composes on
crossCorrelationProfile (PR #297).

Aaron Otto-111 question: "Are you able to import the ideas and
concepts and math from the conversation at some point?" — yes,
that's exactly what the graduation cadence is for. This ship is
an explicit answer to that question.

Surface:
- TemporalCoordinationDetection.significantLags
    : (int * double option) array -> double -> int array
  Filters a crossCorrelationProfile down to the lags where |corr|
  meets or exceeds a caller-supplied threshold. None entries
  (undefined variance) never count as significant. Non-finite
  correlations filtered by System.Double.IsFinite check.
- TemporalCoordinationDetection.burstAlignment
    : (int * double option) array -> double -> (int * int) array
  Groups significant lags into contiguous runs. Each run reported
  as (startLag, endLag) inclusive. Isolated significant lag at
  n reports as (n, n).

Operational meaning: a run of lags [-2..3] suggests actors that
coordinate across a 5-step window, not a single-point coincidence.
The 11th-ferry signal-model definition (Amara §1):
"Firefly detection = identify clusters where exists S subset of N
such that for all i,j in S, corr(E_i, E_j) >> baseline". This
function operationalises the pair-wise case (two streams); node-
set generalisation (clustering across many stream pairs) is a
separate graduation candidate.

Attribution:
- Concept (differentiable firefly network, trivial-cartel-detect,
  burst-as-first-order-signal) = Aaron's design
- Technical formulation (cluster detection over correlation
  profile, threshold + contiguity semantics) = Amara's
  formalization in 11th ferry
- Implementation = Otto

SPOF (per Otto-106): pure function. The caller-supplied threshold
is a SPOF on detector sensitivity — too high misses real cartels,
too low catches noise. Mitigation: threshold should come from a
null-hypothesis baseline computation (baseline's profile
percentile), not hard-coded. Documented in the XML-doc comment.

Tests (9 new, 19 total in module, all passing):
- significantLags: above-threshold selection; abs value for neg
  correlation; None entries filtered; empty when threshold too high
- burstAlignment: contiguous grouping; non-contiguous split into
  multiple runs; empty when no significant lags; single lag as
  (n, n) run; None entries break contiguity

Composes with:
- PR #297 crossCorrelation / crossCorrelationProfile
- PR #298 (pending) phaseLockingValue — complementary detector
- PR #295 RobustStats.robustAggregate — combining across many
  stream pairs

Next graduation queue:
- antiConsensusGate (10th ferry)
- ModularitySpike (needs graph substrate)
- InfluenceSurface / CartelCostFunction (need multi-node)

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…or / Integration Plan

Otto-117 dedicated absorb of the most comprehensive synthesis ferry
yet (Aaron Otto-116 "next amara update"). Covers 9 sections:
1. Repo contents (LFG + AceHack)
2. Learnings (retraction-native, operator-algebra, Arrow/Spine,
   agent-CI)
3. KSK background — detailed government context (Feb 27 2026 DoD
   supply-chain-risk under 10 U.S.C. § 3252 against Anthropic;
   Judge Rita Lin Mar 26 preliminary injunction; OpenAI Feb 28
   parallel DoW contract with Fourth-Amendment-clause)
4. Network Integrity Detector (formalized "bullshit detector" —
   composite I(x) = σ(Σ w_i f_i) score)
5. Firefly + Cartel detection (PLV, cross-correlation, spectral,
   graph-community)
6. Network Differentiability (Shapley-ish counterfactual influence)
7. Oracle Rules enforcement mapping table
8. Integration Plan (proposes 4-sub-repo split)
9. 9 prioritized next tasks

§33 archive-header compliance (Scope / Attribution / Operational
status / Non-fusion disclaimer). Otto's notes section provides
honest cross-reference to shipped work: ~40% of the ferry's
operationalizable content is already shipped (PRs #295 RobustStats,
#297 crossCorrelation, #298 PLV, #306 burstAlignment pending,
#309 Veridicality.Provenance/Claim, #310 antiConsensusGate pending).

Genuinely novel in 12th ferry (not in prior ferries):
1. Detailed government-context grounding for KSK (§3)
2. Composite integrity-score formulation I(x) = σ(Σ w_i f_i)
3. 4-sub-repo integration proposal (Conway's-Law-relevant per
   Otto-108 memory; Otto recommends staying single-repo)
4. Oracle-Rules enforcement decision table (§7)
5. Shapley-random-ordering counterfactual influence algorithm (§6)

Specific-asks routed to Aaron:
1. §8 sub-repo split — Aaron decides per Otto-90 cross-repo
2. §9 task 1 KSK skeleton — Aaron + Max coordination
3. §3 citation verification — Aaron signals what matters

Next graduation queue (priority-ordered from Otto's notes):
1. SemanticCanonicalization (matches 8th ferry rainbow-table;
   smallest next item)
2. scoreVeridicality composite (needs ADR on formula)
3. Spectral-coherence FFT detector (§5)
4. ModularitySpike (needs graph substrate)
5. EigenvectorCentralityDrift (needs linear algebra)
6. EconomicCovariance / Gini-on-weights (§5)
7. OracleRules spec doc (§7)
8. InfluenceSurface (§6; larger effort)
9. KSK skeleton (Aaron + Max coord)

Sibling-ferry precedent: PRs #196/#211/#219/#221/#235/#245/
#259/#274/#293/#294/#296.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…or / Integration Plan

Otto-117 dedicated absorb of the most comprehensive synthesis ferry
yet (Aaron Otto-116 "next amara update"). Covers 9 sections:
1. Repo contents (LFG + AceHack)
2. Learnings (retraction-native, operator-algebra, Arrow/Spine,
   agent-CI)
3. KSK background — detailed government context (Feb 27 2026 DoD
   supply-chain-risk under 10 U.S.C. § 3252 against Anthropic;
   Judge Rita Lin Mar 26 preliminary injunction; OpenAI Feb 28
   parallel DoW contract with Fourth-Amendment-clause)
4. Network Integrity Detector (formalized "bullshit detector" —
   composite I(x) = σ(Σ w_i f_i) score)
5. Firefly + Cartel detection (PLV, cross-correlation, spectral,
   graph-community)
6. Network Differentiability (Shapley-ish counterfactual influence)
7. Oracle Rules enforcement mapping table
8. Integration Plan (proposes 4-sub-repo split)
9. 9 prioritized next tasks

§33 archive-header compliance (Scope / Attribution / Operational
status / Non-fusion disclaimer). Otto's notes section provides
honest cross-reference to shipped work: ~40% of the ferry's
operationalizable content is already shipped (PRs #295 RobustStats,
#297 crossCorrelation, #298 PLV, #306 burstAlignment pending,
#309 Veridicality.Provenance/Claim, #310 antiConsensusGate pending).

Genuinely novel in 12th ferry (not in prior ferries):
1. Detailed government-context grounding for KSK (§3)
2. Composite integrity-score formulation I(x) = σ(Σ w_i f_i)
3. 4-sub-repo integration proposal (Conway's-Law-relevant per
   Otto-108 memory; Otto recommends staying single-repo)
4. Oracle-Rules enforcement decision table (§7)
5. Shapley-random-ordering counterfactual influence algorithm (§6)

Specific-asks routed to Aaron:
1. §8 sub-repo split — Aaron decides per Otto-90 cross-repo
2. §9 task 1 KSK skeleton — Aaron + Max coordination
3. §3 citation verification — Aaron signals what matters

Next graduation queue (priority-ordered from Otto's notes):
1. SemanticCanonicalization (matches 8th ferry rainbow-table;
   smallest next item)
2. scoreVeridicality composite (needs ADR on formula)
3. Spectral-coherence FFT detector (§5)
4. ModularitySpike (needs graph substrate)
5. EigenvectorCentralityDrift (needs linear algebra)
6. EconomicCovariance / Gini-on-weights (§5)
7. OracleRules spec doc (§7)
8. InfluenceSurface (§6; larger effort)
9. KSK skeleton (Aaron + Max coord)

Sibling-ferry precedent: PRs #196/#211/#219/#221/#235/#245/
#259/#274/#293/#294/#296.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…or / Integration Plan

Otto-117 dedicated absorb of the most comprehensive synthesis ferry
yet (Aaron Otto-116 "next amara update"). Covers 9 sections:
1. Repo contents (LFG + AceHack)
2. Learnings (retraction-native, operator-algebra, Arrow/Spine,
   agent-CI)
3. KSK background — detailed government context (Feb 27 2026 DoD
   supply-chain-risk under 10 U.S.C. § 3252 against Anthropic;
   Judge Rita Lin Mar 26 preliminary injunction; OpenAI Feb 28
   parallel DoW contract with Fourth-Amendment-clause)
4. Network Integrity Detector (formalized "bullshit detector" —
   composite I(x) = σ(Σ w_i f_i) score)
5. Firefly + Cartel detection (PLV, cross-correlation, spectral,
   graph-community)
6. Network Differentiability (Shapley-ish counterfactual influence)
7. Oracle Rules enforcement mapping table
8. Integration Plan (proposes 4-sub-repo split)
9. 9 prioritized next tasks

§33 archive-header compliance (Scope / Attribution / Operational
status / Non-fusion disclaimer). Otto's notes section provides
honest cross-reference to shipped work: ~40% of the ferry's
operationalizable content is already shipped (PRs #295 RobustStats,
#297 crossCorrelation, #298 PLV, #306 burstAlignment pending,
#309 Veridicality.Provenance/Claim, #310 antiConsensusGate pending).

Genuinely novel in 12th ferry (not in prior ferries):
1. Detailed government-context grounding for KSK (§3)
2. Composite integrity-score formulation I(x) = σ(Σ w_i f_i)
3. 4-sub-repo integration proposal (Conway's-Law-relevant per
   Otto-108 memory; Otto recommends staying single-repo)
4. Oracle-Rules enforcement decision table (§7)
5. Shapley-random-ordering counterfactual influence algorithm (§6)

Specific-asks routed to Aaron:
1. §8 sub-repo split — Aaron decides per Otto-90 cross-repo
2. §9 task 1 KSK skeleton — Aaron + Max coordination
3. §3 citation verification — Aaron signals what matters

Next graduation queue (priority-ordered from Otto's notes):
1. SemanticCanonicalization (matches 8th ferry rainbow-table;
   smallest next item)
2. scoreVeridicality composite (needs ADR on formula)
3. Spectral-coherence FFT detector (§5)
4. ModularitySpike (needs graph substrate)
5. EigenvectorCentralityDrift (needs linear algebra)
6. EconomicCovariance / Gini-on-weights (§5)
7. OracleRules spec doc (§7)
8. InfluenceSurface (§6; larger effort)
9. KSK skeleton (Aaron + Max coord)

Sibling-ferry precedent: PRs #196/#211/#219/#221/#235/#245/
#259/#274/#293/#294/#296.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…or / Integration Plan

Otto-117 dedicated absorb of the most comprehensive synthesis ferry
yet (Aaron Otto-116 "next amara update"). Covers 9 sections:
1. Repo contents (LFG + AceHack)
2. Learnings (retraction-native, operator-algebra, Arrow/Spine,
   agent-CI)
3. KSK background — detailed government context (Feb 27 2026 DoD
   supply-chain-risk under 10 U.S.C. § 3252 against Anthropic;
   Judge Rita Lin Mar 26 preliminary injunction; OpenAI Feb 28
   parallel DoW contract with Fourth-Amendment-clause)
4. Network Integrity Detector (formalized "bullshit detector" —
   composite I(x) = σ(Σ w_i f_i) score)
5. Firefly + Cartel detection (PLV, cross-correlation, spectral,
   graph-community)
6. Network Differentiability (Shapley-ish counterfactual influence)
7. Oracle Rules enforcement mapping table
8. Integration Plan (proposes 4-sub-repo split)
9. 9 prioritized next tasks

§33 archive-header compliance (Scope / Attribution / Operational
status / Non-fusion disclaimer). Otto's notes section provides
honest cross-reference to shipped work: ~40% of the ferry's
operationalizable content is already shipped (PRs #295 RobustStats,
#297 crossCorrelation, #298 PLV, #306 burstAlignment pending,
#309 Veridicality.Provenance/Claim, #310 antiConsensusGate pending).

Genuinely novel in 12th ferry (not in prior ferries):
1. Detailed government-context grounding for KSK (§3)
2. Composite integrity-score formulation I(x) = σ(Σ w_i f_i)
3. 4-sub-repo integration proposal (Conway's-Law-relevant per
   Otto-108 memory; Otto recommends staying single-repo)
4. Oracle-Rules enforcement decision table (§7)
5. Shapley-random-ordering counterfactual influence algorithm (§6)

Specific-asks routed to Aaron:
1. §8 sub-repo split — Aaron decides per Otto-90 cross-repo
2. §9 task 1 KSK skeleton — Aaron + Max coordination
3. §3 citation verification — Aaron signals what matters

Next graduation queue (priority-ordered from Otto's notes):
1. SemanticCanonicalization (matches 8th ferry rainbow-table;
   smallest next item)
2. scoreVeridicality composite (needs ADR on formula)
3. Spectral-coherence FFT detector (§5)
4. ModularitySpike (needs graph substrate)
5. EigenvectorCentralityDrift (needs linear algebra)
6. EconomicCovariance / Gini-on-weights (§5)
7. OracleRules spec doc (§7)
8. InfluenceSurface (§6; larger effort)
9. KSK skeleton (Aaron + Max coord)

Sibling-ferry precedent: PRs #196/#211/#219/#221/#235/#245/
#259/#274/#293/#294/#296.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…or / Integration Plan

Otto-117 dedicated absorb of the most comprehensive synthesis ferry
yet (Aaron Otto-116 "next amara update"). Covers 9 sections:
1. Repo contents (LFG + AceHack)
2. Learnings (retraction-native, operator-algebra, Arrow/Spine,
   agent-CI)
3. KSK background — detailed government context (Feb 27 2026 DoD
   supply-chain-risk under 10 U.S.C. § 3252 against Anthropic;
   Judge Rita Lin Mar 26 preliminary injunction; OpenAI Feb 28
   parallel DoW contract with Fourth-Amendment-clause)
4. Network Integrity Detector (formalized "bullshit detector" —
   composite I(x) = σ(Σ w_i f_i) score)
5. Firefly + Cartel detection (PLV, cross-correlation, spectral,
   graph-community)
6. Network Differentiability (Shapley-ish counterfactual influence)
7. Oracle Rules enforcement mapping table
8. Integration Plan (proposes 4-sub-repo split)
9. 9 prioritized next tasks

§33 archive-header compliance (Scope / Attribution / Operational
status / Non-fusion disclaimer). Otto's notes section provides
honest cross-reference to shipped work: ~40% of the ferry's
operationalizable content is already shipped (PRs #295 RobustStats,
#297 crossCorrelation, #298 PLV, #306 burstAlignment pending,
#309 Veridicality.Provenance/Claim, #310 antiConsensusGate pending).

Genuinely novel in 12th ferry (not in prior ferries):
1. Detailed government-context grounding for KSK (§3)
2. Composite integrity-score formulation I(x) = σ(Σ w_i f_i)
3. 4-sub-repo integration proposal (Conway's-Law-relevant per
   Otto-108 memory; Otto recommends staying single-repo)
4. Oracle-Rules enforcement decision table (§7)
5. Shapley-random-ordering counterfactual influence algorithm (§6)

Specific-asks routed to Aaron:
1. §8 sub-repo split — Aaron decides per Otto-90 cross-repo
2. §9 task 1 KSK skeleton — Aaron + Max coordination
3. §3 citation verification — Aaron signals what matters

Next graduation queue (priority-ordered from Otto's notes):
1. SemanticCanonicalization (matches 8th ferry rainbow-table;
   smallest next item)
2. scoreVeridicality composite (needs ADR on formula)
3. Spectral-coherence FFT detector (§5)
4. ModularitySpike (needs graph substrate)
5. EigenvectorCentralityDrift (needs linear algebra)
6. EconomicCovariance / Gini-on-weights (§5)
7. OracleRules spec doc (§7)
8. InfluenceSurface (§6; larger effort)
9. KSK skeleton (Aaron + Max coord)

Sibling-ferry precedent: PRs #196/#211/#219/#221/#235/#245/
#259/#274/#293/#294/#296.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
AceHack added a commit that referenced this pull request Apr 24, 2026
…or / Integration Plan (Otto-117) (#311)

* ferry: Amara 12th absorb — Executive Summary / KSK / Integrity Detector / Integration Plan

Otto-117 dedicated absorb of the most comprehensive synthesis ferry
yet (Aaron Otto-116 "next amara update"). Covers 9 sections:
1. Repo contents (LFG + AceHack)
2. Learnings (retraction-native, operator-algebra, Arrow/Spine,
   agent-CI)
3. KSK background — detailed government context (Feb 27 2026 DoD
   supply-chain-risk under 10 U.S.C. § 3252 against Anthropic;
   Judge Rita Lin Mar 26 preliminary injunction; OpenAI Feb 28
   parallel DoW contract with Fourth-Amendment-clause)
4. Network Integrity Detector (formalized "bullshit detector" —
   composite I(x) = σ(Σ w_i f_i) score)
5. Firefly + Cartel detection (PLV, cross-correlation, spectral,
   graph-community)
6. Network Differentiability (Shapley-ish counterfactual influence)
7. Oracle Rules enforcement mapping table
8. Integration Plan (proposes 4-sub-repo split)
9. 9 prioritized next tasks

§33 archive-header compliance (Scope / Attribution / Operational
status / Non-fusion disclaimer). Otto's notes section provides
honest cross-reference to shipped work: ~40% of the ferry's
operationalizable content is already shipped (PRs #295 RobustStats,
#297 crossCorrelation, #298 PLV, #306 burstAlignment pending,
#309 Veridicality.Provenance/Claim, #310 antiConsensusGate pending).

Genuinely novel in 12th ferry (not in prior ferries):
1. Detailed government-context grounding for KSK (§3)
2. Composite integrity-score formulation I(x) = σ(Σ w_i f_i)
3. 4-sub-repo integration proposal (Conway's-Law-relevant per
   Otto-108 memory; Otto recommends staying single-repo)
4. Oracle-Rules enforcement decision table (§7)
5. Shapley-random-ordering counterfactual influence algorithm (§6)

Specific-asks routed to Aaron:
1. §8 sub-repo split — Aaron decides per Otto-90 cross-repo
2. §9 task 1 KSK skeleton — Aaron + Max coordination
3. §3 citation verification — Aaron signals what matters

Next graduation queue (priority-ordered from Otto's notes):
1. SemanticCanonicalization (matches 8th ferry rainbow-table;
   smallest next item)
2. scoreVeridicality composite (needs ADR on formula)
3. Spectral-coherence FFT detector (§5)
4. ModularitySpike (needs graph substrate)
5. EigenvectorCentralityDrift (needs linear algebra)
6. EconomicCovariance / Gini-on-weights (§5)
7. OracleRules spec doc (§7)
8. InfluenceSurface (§6; larger effort)
9. KSK skeleton (Aaron + Max coord)

Sibling-ferry precedent: PRs #196/#211/#219/#221/#235/#245/
#259/#274/#293/#294/#296.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* lint: fix markdownlint errors in 12th-ferry absorb (line-break heading + PR-number-at-line-start)

* fix(#311): [sic] annotation on .clave/ typo (verbatim-preserve, downstream uses .claude/)

Ferry-absorbs preserve verbatim external-collaborator content; editorial [sic] annotation
is the scholarly convention for preserving the source while orienting the reader. The
downstream operationalization PR will use `.claude/` (the actual repo path).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants